package com.ruoyi.common.utils;

import java.util.Properties;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * 配置服务 加载配置，缓存配置
 * 
 * @author junchiren
 */
public class ConfigUtils {

	private final Logger log = LoggerFactory.getLogger(ConfigUtils.class);


	// 配置文件目录
	String configFile = null;

	private Properties pps = new Properties();

	public ConfigUtils() {

	}

	/**
	 * 初始化加载配置，优先加载
	 * 
	 * @return
	 */
	public boolean init() {
		log.info(this.getClass().getName() + " init.");
		try {
			pps.load(getClass().getResourceAsStream(configFile));
			return true;
		} catch (Exception e) {
			log.error(this.getClass().getName() + " init fail.", e);
		}
		return false;
	}


	/**
	 * 根据key获取配置
	 * 
	 * @param key
	 * @return
	 */
	public String getValue(String key) {
		return pps.getProperty(key);
	}

	/**
	 * 根据key获取配置，不存在则返回默认值
	 * 
	 * @param key
	 * @param defaultValue
	 * @return
	 */
	public String getValue(String key, String defaultValue) {
		if (pps.containsKey(key)) {
			return pps.getProperty(key);
		}
		return defaultValue;
	}


	public  String getConfigFile() {
		return configFile;
	}

	public void setConfigFile(String configFile) {
		this.configFile = configFile;
		init();
	}
}
